public class TestMyCircularQueue {
    public static void main(String[] args) {
        // 创建一个容量为3的循环队列
        MyCircularQueue queue = new MyCircularQueue(3);

        System.out.println("=== 测试开始 ===");

        // 测试1: 初始队列是否为空
        System.out.println("初始队列是否为空: " + queue.isEmpty());  // 应该为true

        // 测试2: 入队操作
        System.out.println("入队1: " + queue.enQueue(1));  // true
        System.out.println("入队2: " + queue.enQueue(2));  // true
        System.out.println("入队3: " + queue.enQueue(3));  // true
        System.out.println("入队4(应失败): " + queue.enQueue(4));  // false，队列已满

        // 测试3: 检查队列是否满
        System.out.println("队列是否满: " + queue.isFull());  // true

        // 测试4: 获取队头和队尾元素
        System.out.println("队头元素: " + queue.Front());  // 1
        System.out.println("队尾元素: " + queue.Rear());   // 3

        // 测试5: 出队操作
        System.out.println("出队1: " + queue.deQueue());  // true
        System.out.println("出队后队头: " + queue.Front());  // 2

        // 测试6: 再次入队
        System.out.println("入队4: " + queue.enQueue(4));  // true
        System.out.println("队尾元素: " + queue.Rear());   // 4

        // 测试7: 出队直到队列为空
        System.out.println("出队2: " + queue.deQueue());  // true
        System.out.println("出队3: " + queue.deQueue());  // true
        System.out.println("出队4: " + queue.deQueue());  // true
        System.out.println("空队列出队(应失败): " + queue.deQueue());  // false

        // 测试8: 检查队列是否为空
        System.out.println("队列是否为空: " + queue.isEmpty());  // true

        System.out.println("=== 测试结束 ===");
    }
}
